// pages/goodsInfo/goodsInfo.js
import {goodsDetail,shopcarData} from "../../api/goods";
let app = getApp();
Page({
  /**
   * 页面的初始数据
   */
  data: {
    toView:'productBox',
    nowstatus:'productBox',
    winHeight:0, //body滑动的高度
    isBar:false, //锚点bar显示隐藏
    winHeight:'715px',
    isGundong:true,
    waresDetail:{}, //商品详情
    praise:[], //好评
    isEvaluate:false, //是否有评价
    isShow:false,//是否显示SKU
    numberCarts:'',//购物车数量
  },

  // 关闭sku弹框
  close_sku(value){
    this.setData({
      isShow:value.detail
    })
  },

  // 点击加购物车或购买
  gouMai() {
    this.setData({
      isShow:true
    })
  },

  // 加入购物车成功的回调
  addedSucces(e) {
    let {errCode,message} = e.detail;
    if(errCode) {
      this.getGoodsNumber();
    }
  },

  // 跳转购物车
  jumpCart() {
    wx.switchTab({
      url: '/pages/shopcar/shopcar',
    })
  },

  // 获取所有购物车数量
  async getGoodsNumber() {
    if(app.globalData.verifyLogin) {
      let {data} = await shopcarData();
      if(data.length) {
          this.setData({
            numberCarts:data.length
          })
      }
    }
  },

  // 获取商品详情
  async getGoodsInfo(goodsId) {
    let {data,dynamic} = await goodsDetail(goodsId);
    data[0].tag_name = data[0].tag_name.split(',');
    data[0].goods_rice_text_content = data[0].goods_rice_text_content.replace(/data-origin-width="\d+" data-origin-height="\d+"/g, 'style="display:block;width:100%;height:auto;"')
    let isEvaluate = false;
    if(data[0].first_comment_content) {
      isEvaluate = true;
    }
    this.setData({
      waresDetail:data[0],
      praise:dynamic,
      isEvaluate
    })
    // console.log(data);
    // console.log(this.data.praise);
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getGoodsInfo(options.goodsId); //获取商品详情
    this.setWindowHeight();
    let that=this;
    let query = wx.createSelectorQuery();
    query.select('#commentBox').boundingClientRect(res => { //获取评论距离页面顶部高度
      that.setData({
        commentBoxTop: res.top
      })
    }).exec()
    query.select('#infoBox').boundingClientRect(res => { //获取详情部分距离页面顶部高度
      that.setData({
        infoBoxTop: res.top
      })
    }).exec()
  },

  // 跳转商品评价
  appraise(e) {
    let {id} = e.currentTarget.dataset;
    wx.navigateTo({
      url: `/pages/appraise/appraise?id=${id}`,
    })
  },

    // 设置当前body的高度
    setWindowHeight() {
      let _this = this;
      //创建节点选择器
      var query = wx.createSelectorQuery();
      //选择id
      query.select('#navbar').boundingClientRect()
      query.exec(function (res) {
        //res就是 所有标签为myText的元素的信息 的数组
        // console.log(res);
        //取高度
 
        let height = res[0].height
        _this.setData({
          winHeight:wx.getSystemInfoSync().windowHeight - height + 'px'
        })
        // console.log(_this.data.winHeight);
      })
    },
  
    toViewClick(e){
      this.setData({
        toView: e.target.dataset.hash, //跳转到指定id内容
        nowstatus: e.target.dataset.hash //那个bar添加样式
      })
    },
  
    onPageScroll: function (e) {
      var that=this;
      // console.log(that.data.infoBoxTop)
      // console.log(e.detail.scrollTop)
      if(e.detail.scrollTop > 200 && this.data.isGundong) {
        // console.log('>200');
        this.setData({
          isBar:true,
          isGundong:false,
        })
      }else if(e.detail.scrollTop < 200){
        this.setData({
          isBar:false,
          isGundong:true
        })
      }
      this.setWindowHeight();

      if (e.detail.scrollTop <= that.data.commentBoxTop - 80){
        that.setData({
          nowstatus: 'productBox'
        })
      }
      if (e.detail.scrollTop > that.data.commentBoxTop -80){
        that.setData({
          nowstatus:'commentBox'
        })
      }
      if (e.detail.scrollTop > that.data.infoBoxTop - 80){
        // console.log("true")
        that.setData({
          nowstatus: 'infoBox'
        })
      }
    },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.getGoodsNumber();//获取所有购物车数量
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})